library(dplyr)##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(readr)
library(tidyverse)## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.2 v stringr 1.4.0
## v tidyr 1.1.3 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(ggplot2)
library(ggthemes)
library(glue)##
## Attaching package: 'glue'
## The following object is masked from 'package:dplyr':
##
## collapse
library(scales)##
## Attaching package: 'scales'
## The following object is masked from 'package:purrr':
##
## discard
## The following object is masked from 'package:readr':
##
## col_factor
library(forcats)format_numb <- scales::label_comma(accuracy = .2, big.mark = ".", decimal.mark = ",")usedCars = read.csv("dataset231/cars_train_new.csv")
head(usedCars)Karena kita tertarik dengan mengetahui usia kendaraan, maka kita tambahkan dulu satu kolom yang mencatat usia kendaraan dengan patokan tahun 2020 saat data diatas dpersiapkan. Selain itu kita juga mencoba mengkategorikan usia pemakaian yang dikatakan muda, sedang dan tua. Usia kendaraan kurang atau sama dengan 2 tahun disebut muda, usia kendaraan antara 2 dan 10 tahun dikatakan sedang, dan usia kendaraan di atas 10 tahun disebut sebagai usia tua.
usedCars =
usedCars %>% mutate(age = as.integer(2020 - year))
usedCars =
usedCars %>% mutate(age_Cat = if_else(age <= 2, "Low", if_else(age > 2 & age <=10, "Medium", "High")))
head(usedCars)Untuk mengetahui usia kendaraan yang lebih atau sama dengan 5 tahun
usedCars %>% filter(age >= 5)Untuk mengetahui merek kendaraan yang unik
uniqueBr <- unique(usedCars$brand)
length(uniqueBr)## [1] 59
sort(uniqueBr, decreasing = F)## [1] "Abarth" "Aston Martin" "Audi" "Bentley"
## [5] "BMW" "Cadillac" "Chery" "Chevrolet"
## [9] "Chrysler" "Daewoo" "Daihatsu" "Datsun"
## [13] "DFSK" "Dodge" "Elf" "Ferrari"
## [17] "Fiat" "Ford" "Geely" "Hino"
## [21] "Holden" "Honda" "Hummer" "Hyundai"
## [25] "Infiniti" "Isuzu" "Jaguar" "Jeep"
## [29] "KIA" "Lamborghini" "Land Rover" "Lexus"
## [33] "Maserati" "Mazda" "McLaren" "Mercedes-Benz"
## [37] "MINI" "Mitsubishi" "Mitsubishi Colt" "Nissan"
## [41] "Opel" "Peugeot" "Porsche" "Proton"
## [45] "Renault" "Reo" "Rolls-Royce" "Rover"
## [49] "smart" "Subaru" "Suzuki" "Tata"
## [53] "Tesla" "Timor" "Toyota" "UD TRUCKS"
## [57] "Volkswagen" "Volvo" "Wuling"
Jadi ada 59 merk kendaraan yang unik. Namun karena ada kemunculan beberapa merek yang tidak tepat, kita perbaiki beberapa value pada kolom brand, yaitu merek “Elf” dan merek “Mitsubishi Colt” dimana sebenarnya “Elf” dan “Colt” adalah model dari merek “Isuzu” dan “Mitsubishi”.
usedCars["brand"][usedCars["brand"] == "Elf"] <- "Isuzu"
usedCars["brand"][usedCars["brand"] == "Mitsubishi Colt"] <- "Mitsubishi"uniqueBr <- unique(usedCars$brand)
length(uniqueBr)## [1] 57
sort(uniqueBr, decreasing = F)## [1] "Abarth" "Aston Martin" "Audi" "Bentley"
## [5] "BMW" "Cadillac" "Chery" "Chevrolet"
## [9] "Chrysler" "Daewoo" "Daihatsu" "Datsun"
## [13] "DFSK" "Dodge" "Ferrari" "Fiat"
## [17] "Ford" "Geely" "Hino" "Holden"
## [21] "Honda" "Hummer" "Hyundai" "Infiniti"
## [25] "Isuzu" "Jaguar" "Jeep" "KIA"
## [29] "Lamborghini" "Land Rover" "Lexus" "Maserati"
## [33] "Mazda" "McLaren" "Mercedes-Benz" "MINI"
## [37] "Mitsubishi" "Nissan" "Opel" "Peugeot"
## [41] "Porsche" "Proton" "Renault" "Reo"
## [45] "Rolls-Royce" "Rover" "smart" "Subaru"
## [49] "Suzuki" "Tata" "Tesla" "Timor"
## [53] "Toyota" "UD TRUCKS" "Volkswagen" "Volvo"
## [57] "Wuling"
Setelah koreksi, kini ada 57 merek kendaraan yang unik. Ke-57 merek kendaraan tersebut akan diklasifikasikan menurut dua kelompok. Kelompok pertama adalah kelompok merek-merek kendaraan yang berasal dari negara-negara di Eropa dan kelompok kedua adalah merek kendaraan yang khusus dari negara Jepang saja.
usedCars_grBr = usedCars %>%
group_by(brand) %>%
arrange(brand)
head(usedCars_grBr)tail(usedCars_grBr)Dengan demikian kelompok kendaraan yang diproduksi di Eropa dan di Jepang dapat disusun sebagai berikut:
euroCars = c("Abart", "Aston Martin", "Audi", "Bentley", "BMW", "Ferrari", "Fiat", "Jaguar", "Lamborghini", "Land Rover", "Maserati", "McLaren", "Mercedes-Benz", "MINI", "Opel", "Peugeot", "Porsche", "Renault", "Reo", "Rolls-Royce", "Rover", "smart", "Volkswagen", "Volvo")
length(euroCars)## [1] 24
japaneseCars = c("Daihatsu", "Datsun", "Elf", "Hino", "Honda", "Infiniti", "Isuzu", "Lexus", "Mazda", "Mitsubishi", "Mitsubishi Colt", "Nissan", "Subaru", "Suzuki", "Toyota", "UD TRUCKS")
length(japaneseCars)## [1] 16
di mana ada 24 merek kendaraan beberapa negara di Eropa dan ada 16 merek kendaraan buatan Jepang
Berikutnya kita akan persempit kendaraan-kendaraan buatan negara-negara di Eropa dan Jepang saja
usedCars_EuroJapan = usedCars_grBr %>%
filter(brand %in% euroCars | brand %in% japaneseCars)
head(usedCars_EuroJapan)tail(usedCars_EuroJapan)nrow(usedCars_EuroJapan)## [1] 76478
Bila kita ingin mengetahui usia kendaraan yang sudah lebih atau sama dengan 5 tahun (berarti sebagian masuk kategori medium dan high) maka dengan menyaring data kita akan memperoleh hasil berikut
usedCars_EuroJapan_over5 =
usedCars_EuroJapan %>% filter(age >= 5)
head(usedCars_EuroJapan_over5)nrow(usedCars_EuroJapan_over5)## [1] 50818
usedCars_under2 =
usedCars %>% filter(age < 2)
head(usedCars_under2)nrow(usedCars_under2)## [1] 1302
File ini berisi template untuk mejawab pertanyaan 5W+1H saat briefing Capstone Data Visualization sebagai langkah awal sebelum membuat Dashboard. Silakan Bapak/Ibu mengisi jawaban di bawah.
File ini tidak akan dinilai namun Bapak/Ibu WAJIB disubmit ke dalam classroom pada hari H briefing Capstone Data Visualization.
Tentukan tujuan atau informasi yang ingin ditampilkan dalam dashboard
Jawab
Tujuan yang ingin dicapai atau informasi yang ingin disampaikan:
Untuk siapa dashboard ini dibuat? Siapa target pembaca dari dashboard ini?
Jawab
Penjual kendaraan bekas yang tengah memikirkan untuk menambah koleksi barang yang akan dijual atau pencari kendaraan bekas yang ingin membandingkan kendaraan bekas buatan negara-negara di Eropa atau kendaraan buatan Jepang
Apakah data yang dibuat relevan atau sesuai dengan tujuan? Mengapa?
Jawab
Data masih relevan mengingat data yang dipilih adalah data yang berasal dari pasar kendaraan bekas di sejumlah kota di Indonesia. Data tentu saja berkaitan dengan data harga jual kendaraan bekas disertai informasi tahun pembuatan kendaraan, jarak tempuh, jenis bahan bakan dan berbagai informasi lainnya.
Apakah data yang digunakan masih up to date atau masih relevan dengan kondisi sekarang? Apakah ada informasi tentang tanggal update terakhir dari data tersebut?
Jawab
Data mengenai harga jual kendaraan bekas yang diunduh dari atapdata.id masih up-to-date karena dikoleksi di tahun 2020. Dalam eksplorasi digunakan tahun analisa tahun 2020.
Bagaimana Bapak/Ibu menggunakan visualisasi untuk menjawab tujuan yang telah disebutkan?
Buat plot yang akan dimasukkan ke dalam dashboard. Boleh dalam bentuk ggplot maupun plotly.
Jawab
usedCars_Euro_Wh <- usedCars_EuroJapan %>%
filter(brand %in% euroCars) %>%
filter(age_Cat %in% c("Medium", "High")) %>%
group_by(brand) %>%
summarise(white_col = sum(color == "Putih"),
non_white_col = sum (color != "Putih")) %>%
arrange(-white_col)
usedCars_Euro_WhDari tabel terlihat bahwa kendaraan bermerek Mercedes Benz yang paling banyak berwarna putih. Untuk kendaraan berlogo bintang dengan usia lebih dari 5 tahun, terdapat 2329 kendaraan yang berwarna selain putih. Dan 831 kendaraan tersebut yang berwarna putih. Dengan demikian sekitar 26,3% yang berwarna putih. Sementara bila dibandingkan dengan BMW maka banyak kendaraan bermerek ini yang usianya sudah lebih dari 5 tahun adalah sekitar 32%,8%. Dari segi jumlah total memang lebih banyak kendaraan Mercedes Benz yang berwarna putih namun secara persentase, kendaraan BMW relatif lebih besar.
# your code here
plot1 = usedCars_Euro_Wh %>%
pivot_longer(cols = c(non_white_col, white_col)) %>%
ggplot(aes(x = value, y = brand)) +
geom_col(aes(fill = name)) +
facet_wrap(~name)
plot1# your code here
plot1 = usedCars_Euro_Wh %>%
pivot_longer(cols = c(non_white_col, white_col)) %>%
ggplot(aes(x = value, y = reorder(brand, value))) +
geom_col(aes(fill = name)) +
xlab("Total number") +
ylab("Brand") +
facet_wrap(~name)
plot1Plot untuk menjawab pertanyaan pertama
usedCars_Euro_Wh2 <- usedCars_EuroJapan %>%
filter(brand %in% euroCars) %>%
filter(age_Cat %in% c("Medium", "High")) %>%
group_by(brand) %>%
summarise(white_mean =
mean(if_else(color == "Putih", price, 0)),
non_white_mean =
mean(if_else(color != "Putih", price, 0))) %>%
arrange(desc(white_mean))
usedCars_Euro_Wh2# your code here
plot1b = usedCars_Euro_Wh2 %>%
pivot_longer(cols = c(non_white_mean, white_mean)) %>%
ggplot(aes(x = value/1000000, y = fct_reorder(brand, value, max), fill = name)) +
geom_col(aes(fill = name)) +
xlab("Average Price (in million IDR)") + ylab("Brand") +
facet_wrap(~name)
plot1b Untuk beberapa kendaraan premium, seperti Rolls Royce, warna putih bukanlah pilihan yang populer. Dugaan warna hitam tetap menjadi pilihan utama untuk kendaraan premium Rolls Royce ini.
usedCars_Euro_nonWh <- usedCars_EuroJapan %>%
filter(brand %in% euroCars & color != "Putih")
head(usedCars_Euro_nonWh)nrow(usedCars_Euro_nonWh)## [1] 5507
nbBlack = sum(usedCars_Euro_nonWh$color == "Hitam")
nbBlack## [1] 3545
nbBlack_perc = nbBlack/nrow(usedCars_Euro_nonWh) * 100
nbBlack_perc## [1] 64.37262
Dari perhitungan di atas tampak bahwa warna hitam mendominasi warna-warna selain putih dari kendaraan bekas buatan Rolls Royce ini, yaitu sebesar 64,37%
Plot kedua
# your code herePlot ketiga
# your code hereBuat chunk baru apabila ada lebih dari 3 plot.
Bagaimana desain layout atau tata letak dashboard yang akan dibuat?
Jawab
Contoh penulisan layout.
Layout orientasi horisontal
Tab atau halaman pertama
Tab atau halaman kedua